package cn.stylefeng.guns.sys.modular.system.service;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.sys.modular.system.entity.BtyYhkbg;
import cn.stylefeng.guns.sys.modular.system.model.params.BtyYhkbgParam;
import cn.stylefeng.guns.sys.modular.system.model.result.BtyYhkbgResult;
import cn.stylefeng.roses.core.reqres.response.ResponseData;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 
 * @since 2021-06-08
 */
public interface BtyYhkbgService extends IService<BtyYhkbg> {

    /**
     * 新增
     *
     * @author 
     * @Date 2021-06-08
     */
    void add(BtyYhkbgParam param, String account);

    /**
     * 删除
     *
     * @author 
     * @Date 2021-06-08
     */
    void delete(BtyYhkbgParam param);

    /**
     * 更新
     *
     * @author 
     * @Date 2021-06-08
     */
    void update(BtyYhkbgParam param, String account);

    /**
     * 查询单条数据，Specification模式
     *
     * @author 
     * @Date 2021-06-08
     */
    BtyYhkbgResult findBySpec(BtyYhkbgParam param);

    /**
     * 查询列表，Specification模式
     *
     * @author 
     * @Date 2021-06-08
     */
    List<BtyYhkbgResult> findListBySpec(BtyYhkbgParam param);

    /**
     * 查询分页数据，Specification模式
     *
     * @author 
     * @Date 2021-06-08
     */
     LayuiPageInfo findPageBySpec(BtyYhkbgParam param);

    /**
     * 银行卡审批
     * @param btyYhkbgParam
     * @param account
     */
    void approved(BtyYhkbgParam btyYhkbgParam, String account);

    /**
     * 银行卡列表
     * @param param
     * @param account
     * @return
     */
    LayuiPageInfo yhkList(BtyYhkbgParam param, String account);
    /**
     * 银行卡审批
     * @param id
     */
     Integer confirmOk(@RequestParam Long id);
    /**
     * 银行卡驳回
     * @param btyYhkbgParam
     */
    Integer bohui(BtyYhkbgParam btyYhkbgParam);

    /**
     * 银行卡详情
     * @param id
     * @return
     */
    List<Map> guyhkById(Long id);

    /**
     * 银行卡列表(审核方)
     * @param btyYhkbgParam
     * @param account
     * @return
     */
    LayuiPageInfo yhkShList(BtyYhkbgParam btyYhkbgParam, String account);

    /**
     * 获取待办数
     * @param account
     * @return
     * by zwf 20210715
     */
    long queryAllDaibanQty(String account);

    ResponseData yhkPassList(BtyYhkbgParam btyYhkbgParam, String account);

    ResponseData insert(BtyYhkbgParam btyYhkbgParam, String account);

    ResponseData roleSta(String account);

    List<Map> applicant(String name, String account);

    ResponseData updateApply(BtyYhkbgParam btyYhkbgParam);

    LayuiPageInfo applyList(BtyYhkbgParam btyYhkbgParam, String account);

    ResponseData checkYhk(String yhkNum);

    ResponseData dmList();

    ResponseData yyjlList();

    ResponseData ddList(String yyjl);

    LayuiPageInfo wagesList(BtyYhkbgParam btyYhkbgParam);

    ResponseData wagesApproved(BtyYhkbgParam btyYhkbgParam);

    LayuiPageInfo bonusList(BtyYhkbgParam btyYhkbgParam);

    ResponseData bonusApproved(BtyYhkbgParam btyYhkbgParam);

    ResponseData batchApproved(String ids, Integer yhkyt);
}
